package jwj8508;

import java.util.Scanner;

public class J13_Switch {

	// switch
	// if ... else 의 대안으로 사용
	// if의 조건식이 지나치게 많을 경우 switch를 사용하면 많이 간소해짐
	// switch(표현식) {
	// case 값1: 실행할 문장; break;
	// case 값2: 실행할 문장; break;
	// case 값3: 실행할 문장; break;
	// default: 실행할 문장; break;
	// }
	// 표현식의 결과값에 일치하는 case의 문장이 실행됨
	// 표현식의 결과값은 반드시 int, 열거형, 문자열(JDK7에서 추가됨) 중 하나이어야 함

	public static void main(String[] args) {
		// 문제 1 : 입력한 숫자의 나이대를 출력
		// 15 => 당신은 10대군요!
		// 35 => 당신은 30대군요!
		int myAge;

		Scanner sc = new Scanner(System.in);
		System.out.print("당신의 나이를 입력하세요 : ");
		myAge = sc.nextInt();

		// if (myAge >= 10) // 당신은 10대 군요.
		// if (myAge >= 30) // 당신은 30대 군요.

		switch (myAge / 10) {
		case 1:
			System.out.println("10대군요!!");
			break;
		case 2:
			System.out.println("20대군요!!");
			break;
		case 3:
			System.out.println("30대군요!!");
			break;
		case 4:
			System.out.println("40대군요!!");
			break;
		case 5:
			System.out.println("50대군요!!");
			break;
		case 6:
			System.out.println("60대군요!!");
			break;
		default:
			System.out.println("잘못 입력하셨습니다.");
		}
		System.out.println("===========================================");

		// 문제 2 : 국어, 영어, 수학 점수를 입력받아 학점을 계산하고 출력하는 프로그램
		// 단, switch문을 이용함
		System.out.println("문제 2 : 성적 계산 프로그램");
		System.out.println("-----------------------------");

		System.out.print("국어 점수를 입력하세요 : ");
		int kor = sc.nextInt();

		System.out.print("영어 점수를 입력하세요 : ");
		int eng = sc.nextInt();

		System.out.print("수학 점수를 입력하세요 : ");
		int math = sc.nextInt();

		float avg = (kor + eng + math) / 3F;
		System.out.println("-----------------------------");
		System.out.println("평균점수 : " + avg);
		System.out.println("-----------------------------");

		switch ((int) avg / 10) {
		case 10:
		case 9:
			System.out.println("학점 : 수");
			break;
		case 8:
			System.out.println("학점 : 우");
			break;
		case 7:
			System.out.println("학점 : 미");
			break;
		case 6:
			System.out.println("학점 : 양");
			break;
		default:
			System.out.println("학점 : 가");
		}
		System.out.println("===========================================");

		// 문제 3 : 직급별 연봉 계산
		// 직급(입력) : 사원, 대리, 과장, 부장, 이사
		// 기본급 : 150, 180, 230, 300, 400
		// 출력 결과 : 사원의 연봉은 1800 입니다.
		// 한글 입력시 인코딩 설정 필요!! (Run메뉴 -> Run Configurations -> Common탭 -> 인코딩
		// ms949 설정)

		System.out.println("문제 3 : 직급별 연봉 계산");
		System.out.println("-----------------------------");

		int salary = 0;
		String rank = "";
		
		sc = new Scanner(System.in);
		
		System.out.print("직급을 입력하세요 : ");
		rank = sc.nextLine();
		System.out.println("-----------------------------");

		switch (rank) {
		case "사원":
			salary = 150 * 12;
			break;
		case "대리":
			salary = 180 * 12;
			break;
		case "과장":
			salary = 230 * 12;
			break;
		case "부장":
			salary = 300 * 12;
			break;
		case "이사":
			salary = 400 * 12;
			break;
		default:
			System.out.println("잘못 입력하셨습니다.");
		}
		System.out.println(rank + "의 연봉은 " + salary + "입니다.");

	}
}
